#ifndef __MATH_CONFIG_H__
#define __MATH_CONFIG_H__

#include "xphysics_config.h"
#include "util/xstring.h"

// Index Type
typedef __int32 idtype;


// Value type predefinitions

typedef __int8		int8;
typedef __int16		int16;
typedef __int32		int32;
typedef __int64		int64;

typedef float		float32;
typedef double		float64;

typedef ::xphysics::util::xstring xstring;

// complex value type, first include "math/complex.h"
/*
class complex32;
class complex64;
*/

// array value type, first include "math/array/array.h"
/*
class arr_bool;
class arr_int32;
class arr_int64;
class arr_float32;
class arr_float64;
class arr_complex32;
class arr_complex64;
class arr_string;
*/

NS_MATH_BEGIN
class MathConfig
{
public:
	static bool s_bAutoBroadcasting;	// auto broadcasting mode, default: false
	

public:
	static void init();
	static void init(const xstring& config_file);
};

NS_MATH_END

#endif